function [c] = getCriticalValue_Chi2(alpha, df)    
    %% table of the Chi-Square Distribution:
    % (alpha = Probability that Chi^2 exceeds the critcal value c) 
    chi2_tbl = [
        2.71, 3.84, 5.02, 6.63, 7.88;
        4.61, 5.99, 7.38, 9.21, 10.60;
        6.25, 7.81, 9.35, 11.34, 12.84;
        7.78, 9.49, 11.14, 13.28, 14.86;
        9.24, 11.07, 12.83, 15.09, 16.75;
        10.64, 12.59, 14.45, 16.81, 18.55;
        12.02, 14.07, 16.01, 18.48, 20.28;
        13.36, 15.51, 17.54, 20.09, 21.96;
        14.68, 16.92, 19.02, 21.67, 23.59;
        16.99, 18.31, 20.48, 23.21, 25.19;
        17.28, 19.68, 21.92, 24.72, 26.76;
        18.55, 21.03, 23.34, 26.22, 28.30;
        19.81, 22.36, 24.74, 27.69, 29.82;
        21.06, 23.68, 26.12, 29.14, 31.32;
        22.31, 25.00, 27.49, 30.58, 32.80;
        23.54, 26.30, 28.85, 32.00, 34.27;
        24.77, 27.59, 30.19, 33.41, 35.72;
        25.99, 28.87, 31.53, 34.81, 37.16;
        27.20, 30.14, 32.85, 36.19, 38.58;
        28.41, 31.41, 34.17, 37.57, 40.00;
        34.38, 37.65, 40.65, 44.31, 46.93;
        40.26, 43.77, 46.98, 50.89, 53.67;
        51.81, 55.76, 59.34, 63.69, 66.77;
        63.17, 67.51, 71.42, 76.15, 79.49;
        118.50, 124.30, 129.60, 135.80, 140.20
    ];

    % get row index of distribution table ...
    df_a = [1:20, 25, 30, 40, 50, 100];
    rIdx = find(df_a == df);
    % get the column index of the distribution table ...
    alpha_a = [0.10, 0.05, 0.025, 0.010, 0.005];
    cIdx = find(alpha_a == alpha);
    
    c = chi2_tbl(rIdx, cIdx);
end